/**
 * 提示：如您想使用JS版本的配置文件可参考：https://github.com/cc/vuepress-theme-vdoing/tree/a2f03e993dd2f2a3afdc57cf72adfc6f1b6b0c32/docs/.vuepress
 */
import { defineConfig4CustomTheme, UserPlugins } from 'vuepress/config'
import { VdoingThemeConfig } from 'vuepress-theme-vdoing/types'
import dayjs from 'dayjs'
import htmlModules from './config/htmlModules' // 自定义插入的html块

import {authorInfo} from './Info/author'; // 个人信息
import {navData} from './Info/nav'; // 导航栏信息;

export default defineConfig4CustomTheme<VdoingThemeConfig>({
  theme: 'vdoing', // 使用npm主题包
  locales: {
    '/': {
      lang: 'zh-CN',
      title: "超的博客",
      description: '欢迎来到超的博客',
    }
  },
  base: '/blog/',
  // 主题配置
  themeConfig: {
    // 导航配置
    nav: navData,
    sidebarDepth: 2, // 侧边栏显示深度，默认1，最大2（显示到h3标题）
    logo: '/img/panda-waving.png', // 导航栏logo
    searchMaxSuggestions: 10, // 搜索结果显示最大数
    lastUpdated: '上次更新', // 开启更新时间，并配置前缀文字
    docsDir: 'docs', // 编辑的文件夹
    // docsBranch: 'master', // 编辑的文件所在分支，默认master。 注意：如果你的分支是main则修改为main
    editLinks: false,
    editLinkText: '编辑',
    sidebar: 'structuring',
    author: {
      name: authorInfo.name,
      link: authorInfo.link,
    },
    blogger: {
      name: authorInfo.name,
      avatar: authorInfo.avatar,
      slogan: authorInfo.slogan
    },
    social: {
      icons: authorInfo.social,
    },
    // 页脚信息
    footer: {
      createYear: 2023, // 博客创建年份
      copyrightInfo:
        '超 | chao', // 博客版权信息、备案信息等，支持a标签或换行标签</br>
    },
    // 扩展自动生成frontmatter。（当md文件的frontmatter不存在相应的字段时将自动添加。不会覆盖已有的数据。）
    extendFrontmatter: {
      author: {
        name: '超',
      }
    },
  },
  head: [
    ['link', { rel: 'icon', href: '/img/favicon.ico' }],
    ['meta', { name: 'theme-color', content: '#11a8cd' }], // 移动浏览器主题颜色
  ],
  // 插件配置
  plugins: <UserPlugins>[
    // 复制
    [
      'one-click-copy', // 代码块复制按钮
      {
        copySelector: ['div[class*="language-"] pre', 'div[class*="aside-code"] aside'],
        copyMessage: '复制成功',
        duration: 1000,
        showInMobile: true,
      },
    ],
    // 放大图片
    [
      'vuepress-plugin-zooming', // 放大图片
      {
        selector: '.theme-vdoing-content img:not(.no-zoom)', // 排除class是no-zoom的图片
        options: {
          bgColor: 'rgba(0,0,0,0.6)',
        },
      },
    ],
    // 上次更新时间
    [
      '@vuepress/last-updated', // "上次更新"时间格式
      {
        transformer: (timestamp, lang) => {
          return dayjs(timestamp).format('YYYY/MM/DD, HH:mm:ss')
        },
      },
    ],
  ],
  markdown: {
    lineNumbers: true,
    extractHeaders: ['h2', 'h3', 'h4', 'h5', 'h6'], // 提取标题到侧边栏的级别，默认['h2', 'h3']
  },
  // 监听文件变化并重新构建
  extraWatchFiles: [
    '.vuepress/config.ts',
  ]
})
